"""
 类是一种静态的体现，可以根据类实例化出对象
  类的关键字 class
   class 类名(object):
    object是所有类的父类，可写可不写

"""

class Student(object):
    #__init__ 是一个特殊的方法，用于创建对象时进行初始化的操作。和Java的构造器是一个道理
    # 通过这个方法我们可以为学生类 创建两个属性 name  age
    #想私有属性 需要属性名前加__ 例如 self.__name
    def __init__(self,name,age):
        self.__name = name # this.name = name  self表示的是当前类，和Java中的this 是一个道理
        self.age = age

    #获取私有属性的值
    @property  # 等同于java getter方法
    def name(self):
        return self.__name
    #修改私有属性的值
    @name.setter # 等同于java setter方法
    def name(self,name):
        self.__name = name

    # 在类中定义函数，self是必须在参数列表中存在的
    def study(self,courseName):
        print("%s正在学习%s" % (self.__name,courseName))

    def watchMovie(self):
        if self.age < 18:
            print('%s只能看《熊出没》' % self.__name)
        else:
            print('%s正在看Python100天基础大全' % self.__name)

if __name__ == '__main__':
    stu = Student('小明',25) # 将类进行实例化  格式 变量名 = 类名(参数)
    #调用函数 变量名.函数名(参数)
    stu.study('Python程序设计')
    stu.age = 5
    stu.name='小红'
    print(stu.name)
    stu.watchMovie()